/*
 *所有关于Advertisement类的业务代码应在此处编写
*可使用repository.调用常用方法，获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*AdvertisementService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using VOL.Core.BaseProvider;
using VOL.Core.Extensions.AutofacManager;
using VOL.Entity.DomainModels;
using System.Linq;
using VOL.Core.Utilities;
using System.Linq.Expressions;
using VOL.Core.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using VOL.QiXing.IRepositories;

namespace VOL.QiXing.Services
{
    public partial class AdvertisementService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly IAdvertisementRepository _repository;//访问数据库

        [ActivatorUtilitiesConstructor]
        public AdvertisementService(
            IAdvertisementRepository dbRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            //多租户会用到这init代码，其他情况可以不用
            //base.Init(dbRepository);
        }
<<<<<<< HEAD

        WebResponseContent webResponse = new WebResponseContent();

        public async Task<WebResponseContent> AddAdvertisement(Advertisement advertisement)
        {
            if (advertisement.advertisement_id <= 0)
            {
                await _repository.AddAsync(advertisement.SetCreateDefaultVal());
            }
            else
            {
                
                repository.Update(advertisement.SetModifyDefaultVal(), p => new
                { 
                    p.advertisement_name,
                    p.advertisement_url,
                    p.advertisement_status,
                    p.advertisement_sort,
                    p.is_delete
                });
            }
           
            await repository.SaveChangesAsync();
            return webResponse.OK(null,advertisement);
        }

=======
>>>>>>> ada1b5a63ea1d243550ff89ba9cc243cba8ab73f
  }
}
